{"full_name":"amosblomqvist/learnharness","owner":"amosblomqvist","name":"learnharness","url":"https://github.com/amosblomqvist/learnharness","description":"Agent harness for learning difficult things.","homepage":"learnharness.ai","topics":[],"language":"TypeScript","license":"AGPL-3.0","avatar":"https://avatars.githubusercontent.com/u/255718537?u=882e85275e3e401db8c3db83a48b1de204ea680c&v=4","created_at":"2026-10-16T19:35:33Z","pushed_at":"2026-11-09T18:55:21Z","metrics":{"stars":7969,"forks":1107,"watchers":24,"issues":330,"prs":258,"releases":11,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":19},"growth":{"day":{"stars":1111,"forks":79,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[6858,7969],"forks":[1028,1107],"watchers":[24,24],"issues_open":[null,null],"prs_open":[null,null]},"boards":{"daily":25,"weekly":112,"daily_rate":7,"weekly_rate":26,"monthly_rate":110,"new":63},"same_owner":[{"full_name":"amosblomqvist/learn","name":"learn","boards":{"new":172}}],"issues":[{"number":110,"title":"Can't resubmit answer if OpenAI request failed","comments":12,"created_at":"2026-10-25T11:22:57Z"},{"number":230,"title":"Mobile app + sync","comments":11,"created_at":"2026-10-27T15:26:04Z"},{"number":160,"title":"Repeated compaction grows context instead of shrinking it","comments":11,"created_at":"2026-10-26T05:04:25Z"},{"number":33,"title":"Ability for Long term retention","comments":8,"created_at":"2026-10-24T10:17:26Z"},{"number":291,"title":"Question is too tall for UI","comments":7,"created_at":"2026-10-29T07:33:40Z"},{"number":214,"title":"operouter  ui bug","comments":7,"created_at":"2026-10-27T07:03:36Z"},{"number":437,"title":"Obsidian Support","comments":6,"created_at":"2026-11-01T03:18:17Z"},{"number":60,"title":"Feature request: adding ability to use subscriptions","comments":5,"created_at":"2026-10-24T17:35:44Z"}],"discussions":[{"number":607,"title":"Text-to-Speech or Voice Output Support","comments":0,"category":"Ideas","created_at":"2026-11-08T18:31:05Z"},{"number":602,"title":"Mathaware voice input that transcribes your explanation and automatically converts spoken equation into Latex.","comments":0,"category":"Ideas","created_at":"2026-11-08T12:53:13Z"},{"number":595,"title":"Feature Request: Support for Antigravity CLI (`agy`) as an external CLI provider","comments":0,"category":"Ideas","created_at":"2026-11-08T02:53:21Z"},{"number":589,"title":"Session notes, printable handouts, and course tags","comments":1,"category":"Ideas","created_at":"2026-11-07T23:52:37Z"},{"number":587,"title":"Multiple language support","comments":0,"category":"Ideas","created_at":"2026-11-07T23:33:23Z"},{"number":582,"title":"Persistent learner notes: remember what the learner struggles with across sessions","comments":0,"category":"Ideas","created_at":"2026-11-07T17:07:47Z"},{"number":573,"title":"Confidence slider default value","comments":0,"category":"Ideas","created_at":"2026-11-06T22:49:09Z"},{"number":567,"title":"Intel Mac (x64) builds: an unsigned local build works; should there be an official one?","comments":0,"category":"Ideas","created_at":"2026-11-06T18:59:30Z"}],"latest_release":{"name":"0.5.0","tag":"v0.5.0","published_at":"2026-11-04T21:04:01Z","body":"## Files, folders, and images\r\n\r\n- Attach files or folders from the desktop composer's paperclip menu, or drag and drop them into a session. Attachments insert local path references; they do not upload files or import them into the graph. Newly attached folders show folder icons, including after reload.\r\n- Tutors can show snapshots of your own images and annotate them in the conversation. Inline learner images and annotations fit within 60% of the window height, without cropping the image or changing the original file.\r\n- **Import notes…** is now **Extract files…**, with clearer guidance separating graph extraction from attaching material for a lesson.\r\n- Folder imports skip hidden files and dot-directories, including folders such as `.obsidian` and `.git`.\r\n\r\n## More control\r\n\r\n- Optionally restrict learner-facing file tools to listed folders and their subfolders. Credential and agent-transcript locations are protected even when broad source access is enabled. These are tool-level controls, not an operating-system sandbox.\r\n- Choose **Exa**, **Firecrawl**, or hosted **Ollama** search alongside Brave and Tavily. Configure the selected service's key in Settings; Ollama search uses the hosted service, not a local Ollama installation.\r\n- Edit Practice prompt fragments in Settings alongside Teacher and Prober prompts. Shared fragments indicate which agents use them.\r\n\r\n## Reliability and polish\r\n\r\n- More robust saves for chats, graph data, settings, prompt overrides, and other stored records, with safeguards against interrupted writes and leftover temporary files.\r\n- Claude Code sessions are isolated from unrelated local `CLAUDE.md`, output-style, and memory instructions. Claude teaching-message delivery also has an additional guard against tool-only replies that omit learner-facing feedback.\r\n- Practice sessions correctly appear as waiting when a problem needs an answer, and adopting live session records no longer duplicates messages or replays consumed wake markers.\r\n- Practice-session sources are hidden in the chains view and node picker; empty source names and book icons are dimmed more clearly.\r\n- Inline code now matches fenced code blocks' background and border. Paperclip menus stay above the composer, including multiline drafts.\r\n- Refreshed user/developer documentation and contribution guidance.\r\n\r\n## Known limitations\r\n\r\n- Image interpretation and annotation still depend on the selected model's capabilities. Older folder references without a trailing separator retain their existing generic icon.\r\n- Previously reported notes-import timeout and audit-lock/recovery issues are not claimed fixed by this release.\r\n- The existing reasoning-chain limitation remains: merging equivalent propositions can drop a necessary premise and incorrectly strengthen a stored inference. This is not fixed in this release.\r\n\r\nThanks to the contributors who supplied code, ideas, reports, and testing, including the work in #81, #157, #201, #327, #332, #364, #409, #420, #421, #428, #431, #433, and #434.\r\n"},"readme":true,"readme_zh":false,"news":[{"title":"LearnHarness – An Agent Harness for Learning","url":"https://github.com/amosblomqvist/learnharness","hn":"https://news.ycombinator.com/item?id=50243281","source":"Hacker News","lang":"en","date":"2026-10-26","points":14,"comments":0},{"title":"LearnHarness数据格式完全解析：JSONL账本、schema stamp与Skill插件生态","url":"https://blog.csdn.net/gitblog_00247/article/details/165205872","source":"blog.csdn","lang":"zh","date":"2026-10-27"},{"title":"LearnHarness键盘快捷键完全指南：10个隐藏技巧实现纯键盘操作","url":"https://blog.csdn.net/gitblog_00110/article/details/160423729","source":"blog.csdn","lang":"zh","date":"2026-10-27"},{"title":"Eero Alvar on X: \"LearnHarness now supports ChatGPT, GitHub Copilot and Grok subscriptions. This was very requested.\"","url":"https://x.com/amosblomqvist/status/2114155824079864141","source":"x","lang":"en","date":"2026-10-24"},{"title":"学不会不是因为你笨，是知识图谱没连上，它帮你把思路串起来|learnharness|GitHub|知识图谱_新浪新闻","url":"https://news.google.com/rss/articles/CBMiY0FVX3lxTE9wd3pPQnBKQWFVR0NXYjAwMzFOV1hhbTRQVTlFOUY2b2t1MjRBRnF1VlNFVmM0R0ZFWjBKSVNXdGtyN1FENnROTTRJUU1mZEJTTGxyZTI5OVJZakhlU0lYanFmbw?oc=5","source":"新浪网","lang":"zh","date":"2026-11-09"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}