• bitcoinBitcoin(BTC)$80,155.00-0.76%
  • ethereumEthereum(ETH)$2,327.18-1.27%
  • tetherTether(USDT)$1.00-0.01%
  • binancecoinBNB(BNB)$740.35-0.05%
  • rippleXRP(XRP)$1.30-0.54%
  • usd-coinUSDC(USDC)$1.000.00%
  • solanaSolana(SOL)$101.43-0.87%
  • tronTRON(TRX)$0.3301120.33%
  • Figure HelocFigure Heloc(FIGR_HELOC)$1.06-0.69%
  • zcashZcash(ZEC)$1,213.180.36%
  • HyperliquidHyperliquid(HYPE)$76.710.04%
  • dogecoinDogecoin(DOGE)$0.077032-1.01%
  • moneroMonero(XMR)$594.54-3.42%
  • USDSUSDS(USDS)$1.00-0.01%
  • whitebitWhiteBIT Coin(WBT)$77.21-0.88%
  • chainlinkChainlink(LINK)$11.45-1.45%
  • leo-tokenLEO Token(LEO)$9.01-0.31%
  • cardanoCardano(ADA)$0.204119-2.11%
  • RainRain(RAIN)$0.0086425.00%
  • nearNEAR Protocol(NEAR)$4.581.60%
  • stellarStellar(XLM)$0.168186-2.23%
  • bitcoin-cashBitcoin Cash(BCH)$279.420.86%
  • daiDai(DAI)$1.000.01%
  • Ethena USDeEthena USDe(USDE)$1.000.01%
  • litecoinLitecoin(LTC)$56.84-0.28%
  • uniswapUniswap(UNI)$6.931.09%
  • CantonCanton(CC)$0.101231-0.43%
  • avalanche-2Avalanche(AVAX)$8.93-0.75%
  • USD1USD1(USD1)$1.00-0.01%
  • suiSui(SUI)$0.92-1.92%
  • the-open-networkGram (prev. Toncoin)(GRAM)$1.250.11%
  • hedera-hashgraphHedera(HBAR)$0.077598-0.45%
  • tether-goldTether Gold(XAUT)$3,979.14-0.25%
  • Global DollarGlobal Dollar(USDG)$1.000.00%
  • paypal-usdPayPal USD(PYUSD)$1.00-0.02%
  • BittensorBittensor(TAO)$252.740.25%
  • shiba-inuShiba Inu(SHIB)$0.000005-1.87%
  • EthenaEthena(ENA)$0.2076706.22%
  • quant-networkQuant(QNT)$189.734.56%
  • crypto-com-chainCronos(CRO)$0.054272-3.21%
  • BitwayBitway(BTW)$1.65-6.24%
  • Ripple USDRipple USD(RLUSD)$1.000.00%
  • Circle USYCCircle USYC(USYC)$1.140.00%
  • Ondo US Dollar YieldOndo US Dollar Yield(USDY)$1.150.00%
  • okbOKB(OKB)$108.16-0.93%
  • MemeCoreMemeCore(M)$0.955.74%
  • BlackRock USD Institutional Digital Liquidity FundBlackRock USD Institutional Digital Liquidity Fund(BUIDL)$1.000.00%
  • aaveAave(AAVE)$135.93-1.36%
  • OndoOndo(ONDO)$0.408046-1.17%
  • Pump.funPump.fun(PUMP)$0.004253-1.70%
TradePoint.io
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop
No Result
View All Result
TradePoint.io
No Result
View All Result

Building a Secure and Memory-Enabled Cipher Workflow for AI Agents with Dynamic LLM Selection and API Integration

August 12, 2025
in AI & Technology
Reading Time: 6 mins read
A A
Building a Secure and Memory-Enabled Cipher Workflow for AI Agents with Dynamic LLM Selection and API Integration
ShareShareShareShareShare

In this tutorial, we walk through building a compact but fully functional Cipher-based workflow. We start by securely capturing our Gemini API key in the Colab UI without exposing it in code. We then implement a dynamic LLM selection function that can automatically switch between OpenAI, Gemini, or Anthropic based on which API key is available. The setup phase ensures Node.js and the Cipher CLI are installed, after which we programmatically generate a cipher.yml configuration to enable a memory agent with long-term recall. We create helper functions to run Cipher commands directly from Python, store key project decisions as persistent memories, retrieve them on demand, and finally spin up Cipher in API mode for external integration. Check out the FULL CODES here.

import os, getpass
os.environ["GEMINI_API_KEY"] = getpass.getpass("Enter your Gemini API key: ").strip()


import subprocess, tempfile, pathlib, textwrap, time, requests, shlex


def choose_llm():
   if os.getenv("OPENAI_API_KEY"):
       return "openai", "gpt-4o-mini", "OPENAI_API_KEY"
   if os.getenv("GEMINI_API_KEY"):
       return "gemini", "gemini-2.5-flash", "GEMINI_API_KEY"
   if os.getenv("ANTHROPIC_API_KEY"):
       return "anthropic", "claude-3-5-haiku-20241022", "ANTHROPIC_API_KEY"
   raise RuntimeError("Set one API key before running.")

We start by securely entering our Gemini API key using getpass so it stays hidden in the Colab UI. We then define a choose_llm() function that checks our environment variables and automatically selects the appropriate LLM provider, model, and key based on what is available. Check out the FULL CODES here.

YOU MAY ALSO LIKE

Why Google Chrome Is Always Using So Much RAM

Nanbeige Releases Nanbeige4.3-33B, a 33B Open Agentic Coding Model

def run(cmd, check=True, env=None):
   print("▸", cmd)
   p = subprocess.run(cmd, shell=True, text=True, capture_output=True, env=env)
   if p.stdout: print(p.stdout)
   if p.stderr: print(p.stderr)
   if check and p.returncode != 0:
       raise RuntimeError(f"Command failed: {cmd}")
   return p

We create a run() helper function that executes shell commands, prints both stdout and stderr for visibility, and raises an error if the command fails when check is enabled, making our workflow execution more transparent and reliable. Check out the FULL CODES here.

def ensure_node_and_cipher():
   run("sudo apt-get update -y && sudo apt-get install -y nodejs npm", check=False)
   run("npm install -g @byterover/cipher")

We define ensure_node_and_cipher() to install Node.js, npm, and the Cipher CLI globally, ensuring our environment has all the necessary dependencies before running any Cipher-related commands. Check out the FULL CODES here.

def write_cipher_yml(workdir, provider, model, key_env):
   cfg = """
llm:
 provider: {provider}
 model: {model}
 apiKey: ${key_env}
systemPrompt:
 enabled: true
 content: |
   You are an AI programming assistant with long-term memory of prior decisions.
embedding:
 disabled: true
mcpServers:
 filesystem:
   type: stdio
   command: npx
   args: ['-y','@modelcontextprotocol/server-filesystem','.']
""".format(provider=provider, model=model, key_env=key_env)


   (workdir / "memAgent").mkdir(parents=True, exist_ok=True)
   (workdir / "memAgent" / "cipher.yml").write_text(cfg.strip() + "n")

We implement write_cipher_yml() to generate a cipher.yml configuration file inside a memAgent folder, setting the chosen LLM provider, model, and API key, enabling a system prompt with long-term memory, and registering a filesystem MCP server for file operations. Check out the FULL CODES here.

def cipher_once(text, env=None, cwd=None):
   cmd = f'cipher {shlex.quote(text)}'
   p = subprocess.run(cmd, shell=True, text=True, capture_output=True, env=env, cwd=cwd)
   print("Cipher says:n", p.stdout or p.stderr)
   return p.stdout.strip() or p.stderr.strip()

We define cipher_once() to run a single Cipher CLI command with the provided text, capture and display its output, and return the response, allowing us to interact with Cipher programmatically from Python. Check out the FULL CODES here.

def start_api(env, cwd):
   proc = subprocess.Popen("cipher --mode api", shell=True, env=env, cwd=cwd,
                           stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
   for _ in range(30):
       try:
           r = requests.get("http://127.0.0.1:3000/health", timeout=2)
           if r.ok:
               print("API /health:", r.text)
               break
       except: pass
       time.sleep(1)
   return proc

We create start_api() to launch Cipher in API mode as a subprocess, then repeatedly poll its /health endpoint until it responds, ensuring the API server is ready before proceeding. Check out the FULL CODES here.

def main():
   provider, model, key_env = choose_llm()
   ensure_node_and_cipher()
   workdir = pathlib.Path(tempfile.mkdtemp(prefix="cipher_demo_"))
   write_cipher_yml(workdir, provider, model, key_env)
   env = os.environ.copy()


   cipher_once("Store decision: use pydantic for config validation; pytest fixtures for testing.", env, str(workdir))
   cipher_once("Remember: follow conventional commits; enforce black + isort in CI.", env, str(workdir))


   cipher_once("What did we standardize for config validation and Python formatting?", env, str(workdir))


   api_proc = start_api(env, str(workdir))
   time.sleep(3)
   api_proc.terminate()


if __name__ == "__main__":
   main()

In main(), we select the LLM provider, install dependencies, and create a temporary working directory with a cipher.yml configuration. We then store key project decisions in Cipher’s memory, query them back, and finally start the Cipher API server briefly before shutting it down, demonstrating both CLI and API-based interactions.

In conclusion, we have a working Cipher environment that securely manages API keys, selects the right LLM provider automatically, and configures a memory-enabled agent entirely through Python automation. Our implementation includes decision logging, memory retrieval, and a live API endpoint, all orchestrated in a Notebook/Colab-friendly workflow. This makes the setup reusable for other AI-assisted development pipelines, allowing us to store and query project knowledge programmatically while keeping the environment lightweight and easy to redeploy.


Check out the FULL CODES here. Feel free to check out our GitHub Page for Tutorials, Codes and Notebooks. Also, feel free to follow us on Twitter and don’t forget to join our 100k+ ML SubReddit and Subscribe to our Newsletter.


Asif Razzaq is the CEO of Marktechpost Media Inc.. As a visionary entrepreneur and engineer, Asif is committed to harnessing the potential of Artificial Intelligence for social good. His most recent endeavor is the launch of an Artificial Intelligence Media Platform, Marktechpost, which stands out for its in-depth coverage of machine learning and deep learning news that is both technically sound and easily understandable by a wide audience. The platform boasts of over 2 million monthly views, illustrating its popularity among audiences.

Credit: Source link

ShareTweetSendSharePin

Related Posts

Why Google Chrome Is Always Using So Much RAM
AI & Technology

Why Google Chrome Is Always Using So Much RAM

October 25, 2026
Nanbeige Releases Nanbeige4.3-33B, a 33B Open Agentic Coding Model
AI & Technology

Nanbeige Releases Nanbeige4.3-33B, a 33B Open Agentic Coding Model

October 25, 2026
What Does The Bell Icon Mean On Your CarPlay Screen?
AI & Technology

What Does The Bell Icon Mean On Your CarPlay Screen?

October 25, 2026
The Most Unexpected Everyday Tool Can Be Found On Your Phone
AI & Technology

The Most Unexpected Everyday Tool Can Be Found On Your Phone

October 25, 2026
Next Post
The Only Hypocritical Advice We Give On This Show

The Only Hypocritical Advice We Give On This Show

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

No Result
View All Result
Avalo Therapeutics: Contrarian 'Buy' Ahead Of Abdakibart's Phase 3

Avalo Therapeutics: Contrarian 'Buy' Ahead Of Abdakibart's Phase 3

October 25, 2026
Google Gemini 4 Agents Just Beat Minecraft With No Human Intervention

Google Gemini 4 Agents Just Beat Minecraft With No Human Intervention

October 19, 2026
TOP 5 STOCKS TO WATCH THIS WEEK | EARNINGS WEEK

TOP 5 STOCKS TO WATCH THIS WEEK | EARNINGS WEEK

October 19, 2026

About

Learn more

Our Services

Legal

Privacy Policy

Terms of Use

Bloggers

Learn more

Article Links

Contact

Advertise

Ask us anything

©2020- TradePoint.io - All rights reserved!

Tradepoint.io, being just a publishing and technology platform, is not a registered broker-dealer or investment adviser. So we do not provide investment advice. Rather, brokerage services are provided to clients of Tradepoint.io by independent SEC-registered broker-dealers and members of FINRA/SIPC. Every form of investing carries some risk and past performance is not a guarantee of future results. “Tradepoint.io“, “Instant Investing” and “My Trading Tools” are registered trademarks of Apperbuild, LLC.

This website is operated by Apperbuild, LLC. We have no link to any brokerage firm and we do not provide investment advice. Every information and resource we provide is solely for the education of our readers. © 2020 Apperbuild, LLC. All rights reserved.

No Result
View All Result
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop

© 2023 - TradePoint.io - All Rights Reserved!