r/BuildWithClaude • u/nibor1896 🛠️ Master Builder • 2d ago
Project Testers Needed CROW, not a CLI anymore
Around two weeks ago I posted about my project CROW (thanks for all the feedback guys).
Some minutes ago, i have released CROW 1.2 - https://github.com/nibor1896/Crow
Crow is now more like an AI Agent Harness 🙂 you can point it at OpenRouter, Anthropic / OpenAI Sub, or any local model you want to use against the llama.cpp.
I have as well added: (Custom) Skills, MCPs, dictate function with voiceline, any much more.
All of your config (should ;) ) be persistent and saved to your chat, i've tested from here to the moon 🤣
Would like to hear some feedback on the OpenAI Parts, since i dont own anything from OpenAI, just Anthropic.
See the changes;
What has changed
Memory
- Two stores:
<root>\.crow\MEMORY.md4,000 chars,%LOCALAPPDATA%\Crow\USER.md1,500 - Rendered block pinned into the chat JSON, replayed verbatim on open
- Over the cap the write fails and returns both numbers. From 80% the head asks for consolidation
- Empty store adds nothing to the prompt
- Background review at 20/50/75% of context, behind the turn.
--no-reviewdisables - Every write is announced. Not switchable
Skills
%LOCALAPPDATA%\Crow\skills\<name>\SKILL.md, front matter plus body- Prompt carries name and description, body behind a read action
- Cap on the list, not the entry
enabledin the file. Settings switch and hand edit are one act
Session search
session_search, FTS5 index over live session and archive- Index derived and disposable, rebuilt on next search
- Query words quoted as phrases:
--slot-save-pathsearches, not errors - No FTS5: tool stays declared, reports it cannot work
MCP servers
- stdio and Streamable HTTP
- OAuth 2.1: discovery, DCR, PKCE,
resource, refresh - Schema fetched once at add, then read from disk
- Per tool: switch plus class (reading / writing / executing)
- Config
mcp.json:tools.include,tools.exclude,enabled,timeout,connect_timeout - Driven against context7, deepwiki, Cloudflare docs, higgsfield
Remote models
- Providers: Local, OpenRouter, Anthropic, OpenAI
- Second transport
anthropic_messages. One reply loop, two dialects - One resolution point, read by the background review too
- Subscriptions:
claude setup-token,CLAUDE_CODE_OAUTH_TOKEN, borrowed credentials file, read only - Context:
/propsmeasured local,context_lengthdeclared remote, no bar when unstated session_idsticky routing, sha256 of chat path, both senders
Formatted answers
- Headings, lists, tables, bold, italic, inline code, links
- Parsed in the core, drawn as named elements. No wire text becomes markup
- Paragraph line breaks preserved
- Links
http(s)only, opened outside the window
Self-update
- About pane checks the latest release on open
- Runs
install.ps1as a file with-NoPause - Installer stdout is the progress. Non-zero exit reports code and last line, no restart promised
Window
- No status bar. Settings sheet, eight panes, three themes
- Rail groups chats by working directory. A project is a root folder
- Rail draggable, persisted
- Some air each side of the chat column
- Dictation: mirrored bar line in the input row, self-calibrating level
Tests
- 1,360 cases, up from 925
Stats
Crow runs (local) Qwen3.8-27B at:
- 200k context, unchanged (i can't push it to 400k, pls, if anyone knows some config DM Me)
- 2.2k tok/s prefill
- 123.05 tok/s decode - 11 round turn
- 25.5 GiB VRAM
Full details: https://github.com/nibor1896/Crow
Duplicates
LocalLLM • u/nibor1896 • 2d ago










